In telecommunications networks, such as SS7 networks, signaling points are often deployed in pairs to provide a desired level of network reliability. FIG. 1 is a simplified network diagram depicting interconnected signaling system 7 (SS7) signaling points. In FIG. 1, a service switching point (SSP) 102 is connected to signal transfer point (STP) 104 and STP 106, providing two paths for routing messages originating from SSP 102. STP 104 and STP 106 are deployed as paired nodes and provide redundant network services. STP 108 and STP 110 are also deployed as paired nodes and provide redundant network services as well. Messages sent to STP 104 may be routed to either STP 108 or STP 110 to obtain the desired service. Likewise, STP 106 may route messages to STP 108 or STP 110. Thus, a message signaling unit (MSU) originating from SSP 102 and destined for service control point (SCP) 112 may be routed in the first instance through either STP 104 or STP 106 and in the second instance through either STP 108 or STP 110 before reaching SCP 112. Likewise, MSUs intended for SCP 114 may be routed through either STP 108 or STP 110. Thus, in the event of a failure of either an STP or a signaling link between STPs, messages may still be routed through the network by following a redundant signaling path.
In some implementations, STPs are configured to provide global title translation (GTT) service for signaling messages that are sent route-on-global-title. Global title translation refers to a process where the global title address is translated into the point code and subsystem number of an intermediate destination when immediate global title translation is being performed and to the point code and subsystem number of a final destination when final GTT is being performed. In the network architecture illustrated in FIG. 1, STPs 104 and 106 may perform intermediate global title translation for messages destined for SCPs 112 and 114. Similarly, STPs 108 and 110 may perform final global title translation for messages destined for SCPs 112 and 114.
In order to balance the load on the signaling links or nodes in a SS7 network, it may be desirable to load share messages after performing global title translation. For example, it may be desirable for STP 104 to perform intermediate global title translation such that messages are alternatingly sent to STPs 108 and 110. Similarly, it may be desirable for STP 108 to perform final global title translation such that queries are alternatingly sent to SCPs 112 and 114.
One problem with such post-GTT load sharing occurs when messages are required to be delivered in sequence to the same destination. For example, a typical transaction capabilities application part (TCAP) transaction may include a begin transaction message sent from the originating switch to the database, a continue message sent from the database to the originating switch, a second continue message sent from the originating switch to the database, and a TCN message sent from the database to the originating switch. In order for such a transaction to be processed correctly by the database, the database that receives the begin transaction message must be the same database that receives the subsequent continue messages. In addition, the database must receive the begin transaction message before receiving the continue messages. Using conventional global title translation where the global title address translates into the same point code and subsystem number, such ordering is guaranteed. However, if load sharing is utilized, messages that are part of the same transaction may be delivered to different databases or the messages may be delivered to the same database out of order. Because such misordering and misdelivery can cause errors at the application level, conventional global title translation has not utilized a load sharing algorithm in networks where transactions require sequencing or multiple messages.
Accordingly, in light of the difficulties associated with conventional global title translation, there exists a need for methods, systems, and computer program products for post-GTT load sharing.